package com.ltz.model;
// default package

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Transient;

import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.Table;

import org.codehaus.jackson.map.annotate.JsonSerialize;

import component.JsonDateTimeComponent;

/**
 * ObservationRecord entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "observation_record")
public class ObservationRecord implements java.io.Serializable {

	// Fields

	private Integer id;
	private Integer wellId;
	private Date dateInput;
	private String owner;
	private Date date;
	private String order_;
	private Double depthBegin;
	private Double depthEnd;
	private String rockLayer;
	private Integer timeLate;
	private Integer countLujing;
	private Double depthRockLujing;
	private Integer countPackage;
	private Double lengthTeam;
	private Double densityRelative;
	private Double viscosity;
	private Double volSand;
	private Double lostWater;
	private Double mudpie;
	private Double ph;
	private Double shearForce;
	private Double clPerL;
	private Double drillPressure;
	private Double pumpPressuer;
	private Double countRotationPerM;
	private Double dispacementPerS;
	private Double lengthHeader;
	private Double lengthZuantingAndJunction;
	private Double lengthQuxintong;
	private Double lengthZuangan;
	private Double lengthFangru;
	private Double depthWell;
	private Double inclination;
	private Double orientationDegree;
	private String rockfeature;
	private String oilGasWater;
	private String projIntroduction;
	private String other;
	private String personOnDuty;
	private String personTakeOver;
	private String auditer;

	@Transient
	private String wellName;
	// Constructors

	/** default constructor */
	public ObservationRecord() {
	}

	/** full constructor */
	public ObservationRecord(Integer wellId, Date dateInput, String owner,
			Date date, String order, Double depthBegin, Double depthEnd,
			String rockLayer, Integer timeLate, Integer countLujing,
			Double depthRockLujing, Integer countPackage, Double lengthTeam,
			Double densityRelative, Double viscosity, Double volSand,
			Double lostWater, Double mudpie, Double ph, Double shearForce,
			Double clPerL, Double drillPressure, Double pumpPressuer,
			Double countRotationPerM, Double dispacementPerS,
			Double lengthHeader, Double lengthZuantingAndJunction,
			Double lengthQuxintong, Double lengthZuangan, Double lengthFangru,
			Double depthWell, Double inclination, Double orientationDegree,
			String rockfeature, String oilGasWater, String projIntroduction,
			String other, String personOnDuty, String personTakeOver,
			String auditer) {
		this.wellId = wellId;
		this.dateInput = dateInput;
		this.owner = owner;
		this.date = date;
		this.order_ = order;
		this.depthBegin = depthBegin;
		this.depthEnd = depthEnd;
		this.rockLayer = rockLayer;
		this.timeLate = timeLate;
		this.countLujing = countLujing;
		this.depthRockLujing = depthRockLujing;
		this.countPackage = countPackage;
		this.lengthTeam = lengthTeam;
		this.densityRelative = densityRelative;
		this.viscosity = viscosity;
		this.volSand = volSand;
		this.lostWater = lostWater;
		this.mudpie = mudpie;
		this.ph = ph;
		this.shearForce = shearForce;
		this.clPerL = clPerL;
		this.drillPressure = drillPressure;
		this.pumpPressuer = pumpPressuer;
		this.countRotationPerM = countRotationPerM;
		this.dispacementPerS = dispacementPerS;
		this.lengthHeader = lengthHeader;
		this.lengthZuantingAndJunction = lengthZuantingAndJunction;
		this.lengthQuxintong = lengthQuxintong;
		this.lengthZuangan = lengthZuangan;
		this.lengthFangru = lengthFangru;
		this.depthWell = depthWell;
		this.inclination = inclination;
		this.orientationDegree = orientationDegree;
		this.rockfeature = rockfeature;
		this.oilGasWater = oilGasWater;
		this.projIntroduction = projIntroduction;
		this.other = other;
		this.personOnDuty = personOnDuty;
		this.personTakeOver = personTakeOver;
		this.auditer = auditer;
	}

	// Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}
	@Transient
	public String getWellName() {
		return wellName;
	}

	public void setWellName(String wellName) {
		this.wellName = wellName;
	}

	@Column(name = "well_id")
	public Integer getWellId() {
		return this.wellId;
	}

	public void setWellId(Integer wellId) {
		this.wellId = wellId;
	}
	@JsonSerialize(using=JsonDateTimeComponent.class) 
	@Column(name = "date_input", length = 0)
	public Date getDateInput() {
		return this.dateInput;
	}

	public void setDateInput(Date dateInput) {
		this.dateInput = dateInput;
	}

	@Column(name = "owner", length = 64)
	public String getOwner() {
		return this.owner;
	}

	public void setOwner(String owner) {
		this.owner = owner;
	}

	@Column(name = "date", length = 64)
	public Date getDate() {
		return this.date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	@Column(name = "order_", length = 64)
	public String getOrder_() {
		return this.order_;
	}

	public void setOrder_(String order) {
		this.order_ = order;
	}

	@Column(name = "depth_begin", precision = 10)
	public Double getDepthBegin() {
		return this.depthBegin;
	}

	public void setDepthBegin(Double depthBegin) {
		this.depthBegin = depthBegin;
	}

	@Column(name = "depth_end", precision = 10)
	public Double getDepthEnd() {
		return this.depthEnd;
	}

	public void setDepthEnd(Double depthEnd) {
		this.depthEnd = depthEnd;
	}

	@Column(name = "rock_layer", length = 64)
	public String getRockLayer() {
		return this.rockLayer;
	}

	public void setRockLayer(String rockLayer) {
		this.rockLayer = rockLayer;
	}

	@Column(name = "time_late")
	public Integer getTimeLate() {
		return this.timeLate;
	}

	public void setTimeLate(Integer timeLate) {
		this.timeLate = timeLate;
	}

	@Column(name = "count_lujing")
	public Integer getCountLujing() {
		return this.countLujing;
	}

	public void setCountLujing(Integer countLujing) {
		this.countLujing = countLujing;
	}

	@Column(name = "depth_rock_lujing", precision = 10)
	public Double getDepthRockLujing() {
		return this.depthRockLujing;
	}

	public void setDepthRockLujing(Double depthRockLujing) {
		this.depthRockLujing = depthRockLujing;
	}

	@Column(name = "count_package")
	public Integer getCountPackage() {
		return this.countPackage;
	}

	public void setCountPackage(Integer countPackage) {
		this.countPackage = countPackage;
	}

	@Column(name = "length_team", precision = 10)
	public Double getLengthTeam() {
		return this.lengthTeam;
	}

	public void setLengthTeam(Double lengthTeam) {
		this.lengthTeam = lengthTeam;
	}

	@Column(name = "density_relative", precision = 10)
	public Double getDensityRelative() {
		return this.densityRelative;
	}

	public void setDensityRelative(Double densityRelative) {
		this.densityRelative = densityRelative;
	}

	@Column(name = "viscosity", precision = 10)
	public Double getViscosity() {
		return this.viscosity;
	}

	public void setViscosity(Double viscosity) {
		this.viscosity = viscosity;
	}

	@Column(name = "vol_sand", precision = 10)
	public Double getVolSand() {
		return this.volSand;
	}

	public void setVolSand(Double volSand) {
		this.volSand = volSand;
	}

	@Column(name = "lost_water", precision = 10)
	public Double getLostWater() {
		return this.lostWater;
	}

	public void setLostWater(Double lostWater) {
		this.lostWater = lostWater;
	}

	@Column(name = "mudpie", precision = 10)
	public Double getMudpie() {
		return this.mudpie;
	}

	public void setMudpie(Double mudpie) {
		this.mudpie = mudpie;
	}

	@Column(name = "ph", precision = 10)
	public Double getPh() {
		return this.ph;
	}

	public void setPh(Double ph) {
		this.ph = ph;
	}

	@Column(name = "shear_force", precision = 10)
	public Double getShearForce() {
		return this.shearForce;
	}

	public void setShearForce(Double shearForce) {
		this.shearForce = shearForce;
	}

	@Column(name = "cl_per_l", precision = 10)
	public Double getClPerL() {
		return this.clPerL;
	}

	public void setClPerL(Double clPerL) {
		this.clPerL = clPerL;
	}

	@Column(name = "drill_pressure", precision = 10)
	public Double getDrillPressure() {
		return this.drillPressure;
	}

	public void setDrillPressure(Double drillPressure) {
		this.drillPressure = drillPressure;
	}

	@Column(name = "pump_pressuer", precision = 10)
	public Double getPumpPressuer() {
		return this.pumpPressuer;
	}

	public void setPumpPressuer(Double pumpPressuer) {
		this.pumpPressuer = pumpPressuer;
	}

	@Column(name = "count_rotation_per_m", precision = 10)
	public Double getCountRotationPerM() {
		return this.countRotationPerM;
	}

	public void setCountRotationPerM(Double countRotationPerM) {
		this.countRotationPerM = countRotationPerM;
	}

	@Column(name = "dispacement_per_s", precision = 10)
	public Double getDispacementPerS() {
		return this.dispacementPerS;
	}

	public void setDispacementPerS(Double dispacementPerS) {
		this.dispacementPerS = dispacementPerS;
	}

	@Column(name = "length_header", precision = 10)
	public Double getLengthHeader() {
		return this.lengthHeader;
	}

	public void setLengthHeader(Double lengthHeader) {
		this.lengthHeader = lengthHeader;
	}

	@Column(name = "length_zuanting_and_junction", precision = 10)
	public Double getLengthZuantingAndJunction() {
		return this.lengthZuantingAndJunction;
	}

	public void setLengthZuantingAndJunction(Double lengthZuantingAndJunction) {
		this.lengthZuantingAndJunction = lengthZuantingAndJunction;
	}

	@Column(name = "length_quxintong", precision = 10)
	public Double getLengthQuxintong() {
		return this.lengthQuxintong;
	}

	public void setLengthQuxintong(Double lengthQuxintong) {
		this.lengthQuxintong = lengthQuxintong;
	}

	@Column(name = "length_zuangan", precision = 10)
	public Double getLengthZuangan() {
		return this.lengthZuangan;
	}

	public void setLengthZuangan(Double lengthZuangan) {
		this.lengthZuangan = lengthZuangan;
	}

	@Column(name = "length_fangru", precision = 10)
	public Double getLengthFangru() {
		return this.lengthFangru;
	}

	public void setLengthFangru(Double lengthFangru) {
		this.lengthFangru = lengthFangru;
	}

	@Column(name = "depth_well", precision = 10)
	public Double getDepthWell() {
		return this.depthWell;
	}

	public void setDepthWell(Double depthWell) {
		this.depthWell = depthWell;
	}

	@Column(name = "inclination", precision = 10)
	public Double getInclination() {
		return this.inclination;
	}

	public void setInclination(Double inclination) {
		this.inclination = inclination;
	}

	@Column(name = "orientation_degree", precision = 10)
	public Double getOrientationDegree() {
		return this.orientationDegree;
	}

	public void setOrientationDegree(Double orientationDegree) {
		this.orientationDegree = orientationDegree;
	}

	@Column(name = "rockfeature")
	public String getRockfeature() {
		return this.rockfeature;
	}

	public void setRockfeature(String rockfeature) {
		this.rockfeature = rockfeature;
	}

	@Column(name = "oil_gas_water")
	public String getOilGasWater() {
		return this.oilGasWater;
	}

	public void setOilGasWater(String oilGasWater) {
		this.oilGasWater = oilGasWater;
	}

	@Column(name = "proj_introduction")
	public String getProjIntroduction() {
		return this.projIntroduction;
	}

	public void setProjIntroduction(String projIntroduction) {
		this.projIntroduction = projIntroduction;
	}

	@Column(name = "other")
	public String getOther() {
		return this.other;
	}

	public void setOther(String other) {
		this.other = other;
	}

	@Column(name = "person_on_duty", length = 64)
	public String getPersonOnDuty() {
		return this.personOnDuty;
	}

	public void setPersonOnDuty(String personOnDuty) {
		this.personOnDuty = personOnDuty;
	}

	@Column(name = "person_take_over", length = 64)
	public String getPersonTakeOver() {
		return this.personTakeOver;
	}

	public void setPersonTakeOver(String personTakeOver) {
		this.personTakeOver = personTakeOver;
	}

	@Column(name = "auditer", length = 64)
	public String getAuditer() {
		return this.auditer;
	}

	public void setAuditer(String auditer) {
		this.auditer = auditer;
	}

}